Agent 怎么记住事情?吴恩达这门课讲透了
极客工具 极客工具 XTool 2026年6月26日 09:09
你有没有想过一个问题:ChatGPT 聊到第 20 轮的时候,它还记得第 1 轮你说了什么吗?
答案是:大部分情况下不记得。context window 满了就是满了,旧对话被挤出去就消失了。
Agent 也一样。一个能调工具、能推理、能多步执行的 Agent,如果每次都从零开始,那它永远只是个 高级函数 ,不是真正的助手。
DeepLearning.AI × Oracle 在 2026 年 3 月上线了一门免费课程 Agent Memory: Building Memory-Aware Agents ,1 小时 57 分钟,7 个视频 + 4 段代码。讲师是 Richmond Alake 和 Nacho Martínez。
这门课把 Agent Memory 这件事讲得比较透。以下是课程笔记。
1. Agent 的核心循环
课程开篇就给了定义:Agent 不是一个简单的 LLM 调用,而是一个具备 感知 → 推理 → 行动 循环的系统。
行动层对接的工具包括 Functions、REST APIs、Scripts、Skills、MCP。
✏️ Note
Agent 的核心循环是 感知 → 推理 → 行动 → 再感知 。记忆就是这个循环里的 粘合剂 。没有记忆,每一轮都从零开始。
2. Memory Lifecycle:记忆不只是存取
一说到 记忆 ,直觉就是 存进去,取出来 。但课程提出了一个完整的生命周期:
| 阶段 | 做什么 |
|---|---|
Aggregation & Ingestion |
从多个数据源采集原始数据 |
Representation & Metadata Enrichment |
创建向量嵌入,附加时间戳、意图、语义信息等元数据 |
Storage |
分层存储(短期/中期/长期) |
Organization |
对记忆建模、索引、建立关联 |
三层存储设计
- • 短期记忆 :当前对话的即时上下文
- • 中期记忆 :用户行为模式、偏好
- • 长期记忆 :持久性知识、用户画像
💡 Tip
这和人类的记忆分类很像:工作记忆(此时此刻在想什么)、短期记忆(刚才发生的事)、长期记忆(小时候学会的技能)。Agent 的记忆架构本质上是在模拟这个分层。
3. Context Engineering:context window 不能有什么塞什么
这门课造了一个词: Context Engineering ,定义为:
\==最优地选择和组织喂给 LLM Context Window 的信息==
context window 的构成:
课程区分了三个容易混淆的概念:
| 概念 | 范围 | 关注点 |
|---|---|---|
Context Engineering |
最宽 | 所有进入 context window 的内容(指令、知识库、工具、记忆) |
Memory Engineering |
聚焦 | 记什么、怎么存、怎么检索、什么时候遗忘 |
Memory Unit |
最小 | 记忆的基本单元 |
⚠️ Warning
Context Engineering ≠ Memory Engineering。前者更宽,包括系统指令、工具定义、知识库等所有进入上下文的东西。后者只管记忆的写入、存储、检索和遗忘。
4. Context Summarization:压缩长文本
第一种压缩方式:把长文本缩成摘要,再注入 context window。
课程用了一个研究摘要的例子来说明:
原始文本 (长,约 200 字):一段关于 12 周 RAG 助手研究的多句描述,含参与者人数、实验方法等细节。
摘要后 (短,约 40 字): 12-week study (n=48),RAG 的引用准确率 92% vs 71%,主题覆盖 6.3 vs 4.1 。
三个要点:
- 1. 摘要内容被注入一个干净的 context window
- 2. 对某些任务,通过语义搜索检索摘要,能给 LLM 提供高信号密度上下文
- 3. ==但朴素的摘要是有损的==,压缩必然丢信息
5. Context Compaction:比摘要更进一步
第二种压缩方式:把多段对话上下文打包存储,生成带 ID 的可检索记忆块。
| Summarization | Compaction | |
|---|---|---|
| 做什么 | 长文本缩成短摘要 | 多段对话打包存储 |
| 输出 | 一段精简文字 | 带 ID 的记忆块 |
| 检索方式 | 语义搜索 | ID / 语义双通道 |
工作流程:
💡 Tip
Compaction 的核心价值:给一段完整对话打包,存为带 ID 的记忆块。用的时候通过 ID 快速召回,不需要把所有历史对话全量塞进 context window。特别适合长对话场景——几十轮之后,早期对话压缩成可检索的块就够了。
6. Workflow Memory:把推理过程也记住
课程举了个天气查询的例子:
第一次 :Agent 需要逐步推理(感知 → 调工具1 → 拿结果 → 调工具2……)
第二次 :有 Workflow Memory,直接复用 5 步链路,省 token、降延迟、提高可靠性。
✏️ Note
Skill 就是固化下来的 Workflow Memory——把重复的 Agent 推理过程抽象成可复用的流程。第一次靠推理,第二次靠记忆,第三次靠肌肉。
7. Memory Ops:整个课程最核心的一张图
这张图把 Agent 循环中所有 Memory 操作画在了一起。
Agent Loop 三步循环
Memory 操作分两类
Loop 内 (每轮循环自动执行)分三种:
- • 读 :
read summary/read entity/read workflow/read knowledge base/read conversational memory - • 写 :
write conv mem(写入对话记忆)/summarize_conversation - • 扩展 :
expand summary(展开摘要为详细内容)/search internet
Loop 外 (由 Inner Harness 控制):
- • 启动条件:用户提供输入
- • 停止条件:任务完成 / 超时 / 出错 / 需要用户输入
🔥 Important
Memory 不只是存,还有一整套 read / write / expand / summarize 操作在每轮循环中动态运行。什么时候读、什么时候写、什么时候压缩,都是工程设计的核心。
8. 和实际平台的对应关系
课程讲的不是纯理论,每个概念都能对应到实际平台:
- •
Knowledge Base Docs (RAG)→ 知识库(ES + 向量检索) - •
Workflow Memory→ Skill(固化工作流) - •
Conversational Memory→ 对话记忆层 - •
Entity Memory→ 用户画像 / 实体记忆 - •
Context Engineering→ 上下文组装逻辑 - •
Memory Engineering→ Memory 层(写入可控、读取可控、分类决策)
Memory 系统设计原则
- 1. ==写入可控== — 记忆写入必须可查看、可修改、可删除
- 2. ==读取可控== — 检索流程必须白盒,能看清为什么检索到这条记忆
- 3. ==不盲目写入== — 不是什么信息都往记忆里塞,要有筛选标准
- 4. ==分类决策==:
- • 一次性目标 → 写 Prompt
- • 长期事实 → 写 Memory
- • 大量文档 → 用 RAG
- • 重复流程 → 做 Skill
- • 长期约束 → 写 Rule
课程信息
- • 课程:Agent Memory: Building Memory-Aware Agents [1]
- • 合作方:DeepLearning.AI × Oracle
- • 讲师:Richmond Alake, Nacho Martínez
- • 时长:1 小时 57 分钟,7 个视频 + 4 段代码 + 1 个作业
- • 费用:免费
💡 Tip
Anthropic 也写了一篇关于 Context Engineering 的文章,可以作为补充阅读:[Effective Context Engineering for AI Agents](https://www.anthropic.com/engineering/effective-context-engineering-for-ai-agents)。Redis 也开源了 [Agent Memory Server](https://redis.github.io/agent-memory-server/),实现了类似的 lifecycle 管理。
引用链接
[1] Agent Memory: Building Memory-Aware Agents: https://www.deeplearning.ai/courses/agent-memory-building-memory-aware-agents
技术原理 · 目录